package edu.cgpi.core.entidade.grafico;

import java.awt.Color;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import edu.cgpi.core.entidade.Cor;
import edu.cgpi.core.entidade.Ponto;
import edu.cgpi.core.entidade.Reta;
import edu.cgpi.core.util.Normalizador;
import edu.cgpi.view.GerenciadorUI;

@XStreamAlias("Reta")
public class Reta2D extends Reta implements Imagem {

	@XStreamAlias("Cor")
	private Cor cor;
	
	public Reta2D(Ponto ponto1, Ponto ponto2) {
		super(ponto1, ponto2);
		this.cor = new Cor(Color.BLACK);
	}

	public Reta2D(Ponto ponto1, Ponto ponto2, Cor cor) {
		super(ponto1, ponto2);
		this.cor = cor;
	}

	public Cor getCor() {
		return cor;
	}
	
	public void setCor(Cor cor) {
		this.cor = cor;
	}

	@Override
	public void setFinalizada(boolean b) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public boolean estaFinalizada() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void atualizar(Ponto ponto) {
		setPonto2(ponto);
	}

	@Override
	public Imagem normalizar() {
		Ponto ponto1Norm = Normalizador.normalizar(this.getPonto1());
		Ponto ponto2Norm = Normalizador.normalizar(this.getPonto2());
		return new Reta2D(ponto1Norm, ponto2Norm, cor);
	}

	@Override
	public Imagem expandir() {
		Ponto ponto1Norm = Normalizador.desnormalizar(this.getPonto1());
		Ponto ponto2Norm = Normalizador.desnormalizar(this.getPonto2());
		return new Reta2D(ponto1Norm, ponto2Norm, cor);
	}
}